package com.lry.pda.bottom.c.backend;

import com.lry.pda.bottom.c.backend.code.CodeNode;
import com.lry.pda.bottom.c.backend.executor.Executor;
import com.lry.pda.bottom.c.backend.executor.ExecutorFactory;

public class Interpretor implements Executor {

	private static Interpretor interpretor = null;
	public static Interpretor getSelf() {
		if (interpretor == null) {
			interpretor = new Interpretor();
		}
		return interpretor;
	}
	
	private Interpretor() {
		
	}
	
	@Override
	public void execute(CodeNode root) {
		Executor executor = ExecutorFactory.getExecutor(root);
		executor.execute(root);
	}
}